package cn.wolfcode.business.mapper;

import java.util.List;
import java.util.Map;

import cn.wolfcode.business.domain.CarPackageAudit;
import org.apache.ibatis.annotations.Param;

/**
 * 套餐审核信息Mapper接口
 * 
 * @author dalang
 * @date 2023-11-03
 */
public interface CarPackageAuditMapper 
{
    /**
     * 查询套餐审核信息
     * 
     * @param id 套餐审核信息主键
     * @return 套餐审核信息
     */
    public CarPackageAudit selectCarPackageAuditById(Long id);

    /**
     * 查询套餐审核信息列表
     * 
     * @param carPackageAudit 套餐审核信息
     * @return 套餐审核信息集合
     */
    public List<CarPackageAudit> selectCarPackageAuditList(CarPackageAudit carPackageAudit);

    /**
     * 新增套餐审核信息
     * 
     * @param carPackageAudit 套餐审核信息
     * @return 结果
     */
    public int insertCarPackageAudit(CarPackageAudit carPackageAudit);

    /**
     * 修改套餐审核信息
     * 
     * @param carPackageAudit 套餐审核信息
     * @return 结果
     */
    public int updateCarPackageAudit(CarPackageAudit carPackageAudit);

    /**
     * 删除套餐审核信息
     * 
     * @param id 套餐审核信息主键
     * @return 结果
     */
    public int deleteCarPackageAuditById(Long id);

    /**
     * 批量删除套餐审核信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCarPackageAuditByIds(Long[] ids);

    List<CarPackageAudit> selectByInstanceIds(@Param("ids") List<String> ids);

//    List<CarPackageAudit> selectByUserId(@Param("userId") Long userId, @Param("params") Map<String, Object> params, @Param("status") Integer status);
    List<CarPackageAudit> selectByUserId(@Param("userId") Long userId, @Param("carPackageAudit") CarPackageAudit carPackageAudit);

//    List<CarPackageAudit> selectHisByUserId(@Param("userId") Long userId, @Param("params") Map<String, Object> params, @Param("status") Integer status);
    List<CarPackageAudit> selectHisByUserId(@Param("userId") Long userId, @Param("carPackageAudit") CarPackageAudit carPackageAudit, @Param("tableName") String tableName);
}
